package com.gomcarter.frameworks.base.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.List;

/**
 * 基础属性
 * @author zyh
 * create on 2023/3/10 9:10
 */
@Data
@ConfigurationProperties(value = BaseConfConst.BASE_CONFIG_PREFIX)
public class BaseConfProperties {
    /**
     * 是否启用跨域
     */
    private boolean crossEnabled;
    /**
     * 追加的允许跨域请求头
     */
    private String appendAllowHeaders;
    /**
     * 是否启用表单
     */
    private boolean formEnabled;
    /**
     * 是否启用文件上传
     */
    private boolean multiFileEnabled;
    /**
     * 单个文件上传容量(单位M), 默认2M
     */
    private Integer maxFileSize;
    /**
     * 多文件总上传容量(单位M), 默认6M
     */
    private Integer maxRequestSize;
    /**
     * 探活首页路径
     */
    private String indexLocation;
    /**
     * form表单最大列表长度
     */
    private Integer autoGrowCollectionLimit = 4098;
    /**
     * 是否禁用@JsonProperty属性
     */
    private boolean disableJsonProperty = true;
    /**
     * 不纳入禁用@JsonProperty属性的类名前缀列表
     */
    private List<String> excludeJsonPropertyClassNamePrefixList;
    /**
     * 通过携带请求头x-result-wrapper来决定是否包装响应体
     */
    private boolean resultWrapperHeadEnabled = false;
    /**
     * 响应体是否包含为值为null的属性,默认包含
     */
    private boolean includeNullField = true;
}
